There is a screen transfer system which transfers information on a screen of a server to a client terminal from the server connected to the client terminal through a network in real time. The system is expected to be applied to, for example, a remote monitoring system.
Most screen transfer systems use TCP/IP as a transmission protocol. When data is transmitted using the TCP/IP transmission protocol, the server passes data to the IP layer while controlling a transmission rate (communication bandwidth) of the data using the TCP stream in the TCP layer, and the IP layer transmits the data to the network.
Such a technique may be used that multiple TCP streams are established between a server and a client terminal, the information on the screen is divided into a plurality of data segments, and the data segments are transmitted in parallel. When the multiple TCP streams are used, the data transmission rate (communication bandwidth) can be improved.
In the screen transfer system, every time a drawing state is changed in a screen area which the server maintains, only differential information (called a screen update) between the previous drawing state and the changed drawing state may be transferred together with information of an area where the change occurs.
An upper limit of the communication bandwidth is determined according to the number of TCP streams.
In particular, the amount of data in the screen update varies depending on change in the screen. Accordingly, when the communication bandwidth is measured for the case where the screen update is transmitted using the certain number of TCP streams, it cannot be determined as to whether the measured communication bandwidth is the upper limit for the certain number of TCP streams or below the upper limit. In particular, when data such as the screen update an amount of which varies largely is transmitted, the measured communication bandwidth may be largely deviated from the upper limit for the certain number of TCP streams.
Accordingly, in a screen transfer system that transmits the screen update through the multiple TCP streams, it is difficult to calculate the upper limit of the communication bandwidth based on the number of TCP streams. As a result, it is also difficult to obtain the optimal number of TCP streams.